#include "Zdarzenie.h"

string intToStr(int n)
{
     string tmp = "";
     if(n < 0) 
     {
          tmp = "-";
          n = -n;
     }
     if (n > 9)
          tmp += intToStr(n/10);
     tmp += n % 10 + 48;
     return tmp;
}


Zdarzenie::Zdarzenie(void)
{
}

Zdarzenie::~Zdarzenie(void)
{
	s1.clear();
}
Zdarzenie::Zdarzenie(int _czas, int _priorytet, typyZdarzen _typ, string _s1)
{
	czas = _czas;
	priorytet = _priorytet;
	typ = _typ;
	gniazdo = maszyna = zadanie = -1;
	s1 = _s1;
}

Zdarzenie::Zdarzenie(int _czas, int _priorytet, typyZdarzen _typ, int _zadanie)
{
	czas = _czas;
	priorytet = _priorytet;
	typ = _typ;
	zadanie = _zadanie;
	gniazdo = maszyna = -1;
	s1 ="";
}

Zdarzenie::Zdarzenie(int _czas, int _priorytet, typyZdarzen _typ, int _zadanie, int _gniazdo)
{
	czas = _czas;
	priorytet = _priorytet;
	typ = _typ;
	zadanie = _zadanie;
	gniazdo = _gniazdo;
	maszyna = -1;
	s1 ="";
}
Zdarzenie::Zdarzenie(int _czas, int _priorytet, typyZdarzen _typ, int _zadanie, int _gniazdo, int _maszyna)
{
	czas = _czas;
	priorytet = _priorytet;
	typ = _typ;
	zadanie = _zadanie;
	gniazdo = _gniazdo;
	maszyna = _maszyna;
	s1 = "";
}



string Zdarzenie::wypisz()
{
	string buffer = "";
	//buffer = "CZAS: ";
//	buffer += intToStr(czas) ; buffer +=" pr: "; buffer += intToStr(priorytet); buffer += "  ";
	if (typ == typyZdarzen(zadanie_wchodzi_do_kolejki))
     {
		 buffer += "Zadanie "; buffer += intToStr(zadanie);buffer+=" wchodzi do kolejki ";buffer += intToStr(gniazdo);
     }
	 else if (typ == typyZdarzen(maszyna_zwolniona))
     {
         buffer += "Maszyna "; buffer += intToStr(maszyna);buffer+=" w gniazdzie  ";buffer += intToStr(gniazdo);
		 buffer += " zostala zwolniona";
     }
	 else if (typ == typyZdarzen(kolejka_zwolniona))
     {
         buffer += "Kolejka "; buffer += intToStr(gniazdo);buffer+=" zostala zwolniona ";
     }
	 else if (typ == typyZdarzen(zadanie_wchodzi_do_systemu))
     {
         buffer += "Zadanie "; buffer += intToStr(zadanie); buffer +=" wchodzi do systemu ";
     }
	 
	 else if (typ == typyZdarzen(zadanie_wychodzi_z_systemu))
     {
         buffer += "Zadanie "; buffer += intToStr(zadanie); buffer +=" wychodzi z systemu";
     }
	 else if (typ == typyZdarzen(zadanie_wykonane))
     {
         buffer += "Zadanie "; buffer += intToStr(zadanie); buffer +=" wykonalo sie na maszynie ";buffer += intToStr(maszyna);
		 buffer +=" w gniezdzie ";buffer += intToStr(gniazdo);
     }
	 else if (typ == typyZdarzen(zadanie_wchodzi_do_maszyny))
     {
         buffer += "Zadanie "; buffer += intToStr(zadanie); buffer +=" wyszlo z kolejki ";buffer += intToStr(gniazdo);
		 buffer +=" i wchodzi do maszyny ";buffer += intToStr(maszyna);
     }
	 else if (typ == typyZdarzen(tekst))
     {
         buffer += s1;
     }
	 
	return buffer;
}
